#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
//int main()
//{
//	printf("%s\n", __FILE__);
//	printf("%d\n", __LINE__);
//	printf("%s\n", __DATE__);
//	printf("%s\n", __TIME__);
//	return 0;
//}
//#define MAX 1000
//#define reg 
//#define do_forever for(;;) 
//#define CASE break;case 
//#define DEBUG_PRINT printf("file:%s\tline:%d\t \
//							data:%s\ttime:%s\n" ,\
//							__FILE__,__LINE__,		\
//							__DATE__,__TIME__)
//#define MAX(a,b) ((a)>(b)?(a):(b))
//int Max(int x, int y)
//{
//    return x > y ? x : y;
//}
//int main()
//{
//    int m1 = Max(3, -6);
//    int m2 = MAX(3, -6);
//    //int m2 = ((3)>(-6)?(3):(-6))
//    printf("m1 = %d\n", m1);
//    printf("m2 = %d\n", m2);
//    return 0;
//}
//#define GENERIC_MAX(type)		 \
//        type type##_max(type x, type y)  \
//        {								 \
//         return (x>y?x:y); 				 \
//        }
//GENERIC_MAX(int) 
//GENERIC_MAX(float) 
//{
//	int m = int_max(2, 3);
//	printf("%d\n", m);
//	float fm = float_max(3.5f, 4.5f);
//	printf("%f\n", fm);
//	return 0;
//}
//#define __DEBUG__
//int main()
//{
//    int i = 0;
//    int arr[10] = { 0 };
//    for (i = 0; i < 10; i++)
//    {
//        arr[i] = i;
//#ifdef __DEBUG__
//        printf("%d\n", arr[i]);
//#endif 
//    }
//    return 0;
//}
//#if 0
//#define M -10
//int main()
//{
//    printf("hehe\n");
//    return 0;
//}
//#endif
//#define M 3
//
//int main()
//{
//#if M==0
//	printf("hehe\n");
//#elif M==1
//	printf("haha\n");
//#elif M==2
//	printf("biubiu\n");
//#else
//	printf("hello\n");
//#endif
//	return 0;
//}
//#define INIT_CAPACITY 4
//typedef int SLDataType;
//typedef struct SeqList
//{
//	SLDataType* a;
//	int size; 
//	int capacity; 
//}SL;
//void SLInit(SL* ps);
//void SLDestroy(SL* ps);
//void SLPrint(SL* ps);
//void SLCheckCapacity(SL* ps);
//void SLPushBack(SL* ps, SLDataType x);
//void SLPopBack(SL* ps);
//void SLPushFront(SL* ps, SLDataType x);
//void SLPopFront(SL* ps);
//void SLInsert(SL* ps, int pos, SLDataType x);
//void SLErase(SL* ps, int pos);
//int SLFind(SL* ps, SLDataType x);